package com.mj;

import com.mj.list.ArrayList;
import com.mj.list.List;

/**
 * 通过动态数组 实现栈
 *
 * @param <E>
 */
public class Stack<E> {
    //组合 oop   只用一些方法
    List<E> list = new ArrayList<>();

    public int size() {
        return list.size();

    } // 元素的数量

    public boolean isEmpty() {
        return list.isEmpty();
    } // 是否为空

    public void push(E element) {
        list.add(element);
    } // 入栈

    public E pop() {
        return list.remove(size() - 1);
    } // 出栈

    public E top() {
        return list.get(size() - 1);
    } // 获取栈顶元素

    public void clear() {
        list.clear();
    } // 清空
}
